﻿CREATE PROC [dbo].[usp_DespieceAgregarHijo](@mgrIdProducto int, @mgrIdParte int, @idProducto int, @idParte int, @cantidad int) 
AS 
BEGIN
   DECLARE @mOrgNode hierarchyid, @lc hierarchyid
   SELECT @mOrgNode = Jerarquia 
   FROM Despiece 
   WHERE IdProducto = @mgrIdProducto and IdParte = @mgrIdParte
   SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
   BEGIN TRANSACTION
      SELECT @lc = max(Jerarquia) 
      FROM Despiece
      WHERE Jerarquia.GetAncestor(1) =@mOrgNode ;

      INSERT Despiece (idproducto,idparte,jerarquia, cantidad)
      VALUES(@idProducto, @idParte, @mOrgNode.GetDescendant(@lc, NULL), @cantidad)
   COMMIT
END ;